Tables Editor to miejsce, w którym schematy baz danych ożywają — wizualnie. Zamiast pisać klasy modeli Django ręcznie, definiujesz pola, relacje i metadane przez interfejs formularzowy. Pytigon generuje kod modelu, tworzy migracje i automatycznie aktualizuje bazę danych.
Tables Editor obsługuje wszystkie standardowe typy pól Django:
| Typ pola | Odpowiednik w Django | Typowe zastosowanie |
|---|---|---|
| String | CharField |
Krótki tekst, do 255 znaków |
| Text | TextField |
Dłuższa treść, opisy |
| Integer | IntegerField |
Liczby całkowite |
| Float | FloatField |
Liczby dziesiętne |
| Boolean | BooleanField |
Flagi prawda/fałsz |
| Date | DateField |
Daty kalendarzowe |
| DateTime | DateTimeField |
Znaczniki czasu |
| File | FileField |
Przesłane pliki |
| Image | ImageField |
Przesłane obrazy |
| Choice | CharField z choices |
Wybory z listy rozwijanej |
| ForeignKey | ForeignKey |
Relacja do innej tabeli |
| JSON | JSONField |
Dane strukturalne (rozszerzenie Pytigona) |
Każde pole można skonfigurować za pomocą:
Pytigon automatycznie dodaje pole jsondata typu JSON do każdego modelu. To pole przechowuje:
Możesz definiować pola przechowywane wewnątrz jsondata, zamiast jako osobne kolumny bazy danych. Te „wirtualne” kolumny zachowują się jak zwykłe pola w formularzach i tabelach, ale żyją w obiekcie JSON.
Dla prostej tabeli Album z polami name, artist i release_date, Tables Editor generuje:
class Album(JSONModel):
name = models.CharField("Name", max_length=128)
artist = models.CharField("Artist", max_length=128)
release_date = models.DateField("Release date", null=True, blank=True)
class Meta:
verbose_name = "Album"
verbose_name_plural = "Albums"
Zdefiniuj pole ForeignKey wskazujące na inną tabelę. Pytigon automatycznie:
on_deleteDla relacji, które nie są wymuszane na poziomie bazy danych, Pytigon dostarcza row_related_list — relację na poziomie szablonu, która łączy tabele przez funkcję filtrującą, a nie przez klucz obcy SQL. Zobacz szczegółową dokumentację w Relationships between components.
Gdy zapisujesz zmiany w Tables Editor:
W trybie deweloperskim dzieje się to płynnie — bez poleceń terminala.